1. Technical Field
The present invention relates to network switching and more particularly, to methods and systems controlling network data traffic on full-duplex media in switched networks.
2. Background Art
Switched local area networks use a network switch for supplying data frames between network nodes such as network stations, routers, etc., where each network node is connected to the network switch by a media. The switched local area network architecture uses a media access control (MAC) layer enabling a network interface to access the media. The network switch passes data frames received from a transmitting node to a destination node based on the header information in the received data frame.
A network switch such as a workgroup switch typically includes port buffering at both input and output buffers. Specifically, a non-blocking switch typically includes ports having input buffers and output buffers such as first in first out (FIFO) buffers, that are sized to accommodate the transfer of data between a source and destination port at wire speed. However, congestion of an output buffer may occur if multiple data packets from multiple input buffers are directed to a single output buffer. Hence, an output buffer may be unable to keep up with reception of data packets from multiple input buffers within the switch.
Flow control has been proposed to reduce network congestion, where a transmitting node temporarily suspends transmission of data packets. A proposed flow control arrangement for a full-duplex environment, referred to as IEEE 802.3x[2] specifies generation of a flow control message, for example a PAUSE frame. A transmitting station that receives the PAUSE frame enters a pause state in which no data frames are sent on the network for a time interval specified in the PAUSE frame. However, control frames can be sent during the pause state.
If flow control is implemented in a switch, however, the transmission of data packets from the respective network nodes is effectively halted until the output congestion eases. One problem associated with implementing flow control in full-duplex links is head of line (HOL) blocking, where a transmitting node sending data packets to the workgroup switch may be forced into a pause interval, even though the transmitting node is attempting to send data packets to a destination node via a network switch port other than the congested network switch port. In addition, outputting flow control PAUSE frames to all the network nodes may unnecessarily reduce network traffic while the congested output buffer is outputting the data frames. Hence, the conventional policy for generation of PAUSE control frames may substantially reduce the throughput of the network unnecessarily.